home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Standards 1994 January / InfoMagic Standards - January 1994.iso / misc / merit / noop / tutorial / clnpint.doc next >
Text File  |  1991-03-21  |  9KB  |  199 lines

  1.  
  2.                     A Day in the life of Ivan DnCLNPacket
  3.  
  4. by: Robert Hagens
  5. University of Wisconsin
  6. hagens@cs.wisc.edu 
  7.  
  8. Introduction
  9.  
  10. An OSI End System. Layered. Complicated. This was a place where
  11. packets lived a hard and fast life. This is the story of
  12. one particular packet.  This story is not a unique one. 
  13. It happens every day. It may already have happened to you.
  14.  
  15. Ivan, a CLNP packet from birth, worked on the Connectionless Squad (CL). 
  16. His squad leader, Mikhail, had been running the Connectionless network 
  17. layer for 15 years. Ivan was lucky to be in the CL squad. 
  18. He had heard all the stories from Ivan about the other guys in the
  19. compound -- the Connection-oriented squad. The Gosip was that 
  20. life in the CO squad was brutal.  The CO squad leader enforced his
  21. reliable, guaranteed delivery service with an iron fist. 
  22.  
  23. Luckly, Mikhail was fair, Ivan diligent. The absence of a 
  24. delivery guarantee for CLNP packets promoted a laissez-faire
  25. atmosphere in the CL squad which permeated all its members. 
  26. Yes, there was envy from the CO squad, but lack of CO/CL communication
  27. meant that he chance of a transfer between them was small.
  28.  
  29. The Squad Room
  30.  
  31. Ivan was already bored with Mikhail's briefing. He already knew that he was
  32. a full CLNP packet and not a member of either of the two
  33. subsets of the CLNP family. The non-segmenting subset, thought Ivan, was
  34. only for those packets who were so sure that they would not be segmented 
  35. that they opted to save 6 bytes by not carrying the segmentation information
  36. along. This segmentation information would be used if the packet was
  37. split into several, smaller packets by an Intermediate System. This process,
  38. (segmentation) was used if the packet was too large for a transmission
  39. link to handle. The separate pieces of the packet would journey toward their 
  40. destination independently -- to be merged together once they reached 
  41. the destination.
  42.  
  43. Although Ivan was secretly frightened by the thought of being
  44. carved up into many pieces by some unknown, butcher router,
  45. he tried to project an outward excitement about the segmentation experience.
  46.  
  47. Of course, Ivan was very happy he was not a member of the Inactive network
  48. layer subset. He had heard stories about these strange relatives with a 1
  49. byte header containing only an identification field. What a strange
  50. life it would be -- inactive until the end! Better to die
  51. while living...
  52.  
  53. Ivan looked at his header in the hunk of stainless steel on the wall
  54. that served as the squad's mirror.  The fixed part was complete: his
  55. header length set, his lifetime filled with a comfortable value of 30,
  56. his type set to normal data, and his checksum (courtesy of Fletcher)
  57. computed. The checksum, of course, was only computed on his header.
  58. Ivan liked this. He would only worry about his header. The data he
  59. carried belonged to a transport connection. He was glad to let the
  60. transport connection worry about their data with their own checksum.
  61.  
  62. Data. Normal data. That was Ivan's type of packet. Better to be
  63. a normal data packet than a ghastly Error Report. No one liked the bearer
  64. of bad news. It was a dangerous profession; especially in this compound.  
  65. It was much better to transport data than the remains of some
  66. unknown, discarded packet.
  67.  
  68. The other parts of Ivan's header were in place. His addressing part
  69. was complete with a source and destination NSAP address. His segmentation
  70. part initialized and ready to be used if (his mind raced at the thought)
  71. segmentation were to occur.
  72.  
  73. The final section of Ivan's header, the options part, contained 
  74. a few of the possible CLNP options.
  75.  
  76. "You will notice, Ivan", Mikhail's voice brought Ivan's attention
  77. back to the front of the room, "that I have given you several optional
  78. parameters. I have added the Padding Option to increase your total
  79. header length to a multiple of 4 bytes. You also have a source route
  80. and record route option. You will visit each router in the source route
  81. list during your journey through the network. The record route option
  82. will be used to log the addresses of all the routers you visit.
  83. Every time you visit a router, he will write his address in the space I
  84. have created."
  85.  
  86. "Why is the source route so small and the record route so large?" asked
  87. Ivan. Mikhail explained that Ivan's source route was not a complete listing
  88. of every router that must be visited. Rather, as a partial source route,
  89. it only listed a few of the routers to be visited. 
  90.  
  91. "So I can visit as many routers as I wish, as long as I visit 
  92. the ones listed in the source route, in the order listed?", interrupted Ivan.
  93. "That's right", Mikhail said. "But keep in mind that your record route
  94. option is fixed in size". 
  95.  
  96. "Huh?"
  97.  
  98. "Your record route option is large enough to contain the address of
  99. many routers. However, its size was fixed when you were created. The option
  100. can not expand during your journey. If you visit so many routers that your
  101. record route option is filled with all the addresses, the recording will
  102. have to be terminated."
  103.  
  104. "Well, I'll be careful.", reassured Ivan.
  105.  
  106. "Indeed. And watch your lifetime. It will decrease as you travel. If
  107. it reaches zero, you'll be discarded."
  108.  
  109. "Don't worry, Mikhail. My lifetime is 30! I have plenty of time."
  110. With that, Ivan scrambled out the door, ready to begin his journey.
  111. "That's what the last packet thought as well", Mikhail whispered.
  112.  
  113. The Network Swamps
  114.  
  115. The first few routers that Ivan visited were not very busy
  116. and the trip was uneventful. Whenever Ivan arrived at an
  117. Intermediate System, that system would write its address into Ivan's
  118. record route option, and Ivan's lifetime field would be decremented. 
  119. With a new header checksum computed, Ivan was immediately forwarded out onto
  120. a link towards his destination. In fact, until he reached the long-haul
  121. backbone, Ivan didn't even notice the steady tick-tick-ticking of his
  122. lifetime field.
  123.  
  124. The moment Ivan appeared on the backbone router's input queue, 
  125. he felt that something was wrong. The heat was intense. The room noisy.
  126. He stood in line trying to gauge the length of the queue.
  127. It looked like 6, maybe 7 packets were already waiting. 
  128. Judging by the size of their lifetime fields, many had been traveling
  129. for a long time. Ivan waited impatiently to get closer to the front
  130. of the line. Suddenly, as he was about to step up to be routed,
  131. 2 other packets jumped in front of him.
  132.  
  133. "Wait a minute!" Ivan started to shove. 
  134.  
  135. The big, blue router looked down,
  136. "Priority Packets, kiddo. If ya don't have a priority option, yer
  137. priority is low."
  138.  
  139. Ivan waited for the priority packets to leave. 
  140. He stepped up to the router.
  141.  
  142. "Destination?"
  143.  
  144. Ivan told him.
  145.  
  146. "Ok. T'ird link from da left. Ya's been here awhile. Cut da lifetime
  147. field by foah."
  148.  
  149. "Four, FOUR?", Ivan couldn't believe his ears. 
  150.  
  151. "Look fella", the router mumbled, "yer a CLNP packet. Dat means yer
  152. lifetime ain't no hop count. It's a time field. And ya been here awhile."
  153.  
  154. Ivan ran to the link. His lifetime was down farther than he thought
  155. possible. He knew that if the lifetime field dropped to zero, he would
  156. be discarded. Like many packets, he didn't think it could happen to him.
  157. He wasn't ready to die.  As he jumped down the link, he wondered
  158. if he would see those quiet regional networks again...
  159.  
  160. The next few routers on the backbone were no better. Long delays at each
  161. one spelled trouble. One of the routers was so congested that it
  162. was dropping packets at random. Ivan was horrified to watch the packet
  163. in front of him get discarded, wrapped up in an Error Report, and shipped
  164. back towards its source. Other packets at that router were
  165. getting their Congestion Experienced bits turned on. 
  166.  
  167. When it was Ivan's turn, the router looked at him with distaste.
  168.     "You don't have a Quality of Service Option".
  169.     "I don't?", Ivan half questioned.
  170.     "No. You don't."
  171. Ivan did not understand that the congestion experienced
  172. bit was part of the quality of service option. Since that option was not
  173. required on every packet, it wasn't always available to be set.
  174.  
  175.     "We backbone routers rely on the QOS congestion experienced bit to 
  176. inform the transport connections that we are congested. What part of the
  177. network do you come from, anyway?"
  178.  
  179.     Ivan started to list his record route option. The bored router 
  180. interrupted,
  181.     "Never mind. Begone. Last link on the right".
  182.  
  183.     Ivan never made it to his destination. His lifetime expired somewhere
  184. between the far side of the backbone and his destination subnetwork. 
  185. His data was discarded. His header not even returned to the compound, 
  186. for the system that discarded him did not care to send an Error Report.
  187.  
  188. Ivan's epitaph read:
  189.  
  190.     Run, don't plod.
  191.     Take it from me.
  192.     Behold, behold the links I trod
  193.     for ISO 8473.
  194.  
  195.  
  196. [All characters are fictious, no referenece to any packet or router,
  197. past present or future is intended or should be construed.] 
  198.  
  199.